#pragma once

#include <vector>
#include <utility>
#include <stdexcept>
#include <algorithm>
#include <set>
#include "Generators.h"
#include "2SAT.h"



	HashLexem generateHashLexem(int argumentsNum);

	void stressCheckUnsolvableSolution();

	void check2SatSolution(const std::vector<HashLexem>& listOfHashedLexems, const std::vector<bool>& solution);

	void generate2SatSolvableExpression(int& argumentsNum, std::vector<HashLexem>& inputHashes);

	void stressCheckSolvableSolution();

	void generate2SatExpression(int& argumentsNum, std::vector<HashLexem>& inputExpressions);

	void stress2SatGraph();

